<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
		<script type="text/javascript" src="fckeditor.js"></script>
		<title>fckeditor测试</title>
		<script type="text/javascript">
			function getFCKeditorValue(){
				alert(FCKeditorAPI.GetInstance('FCKeditor1').GetXHTML(true));
			}
		</script>
	</head>
<body>

		<table>
			<tr>
				<td width="100%" align="center">
					<script type="text/javascript">
						<!--
						var oFCKeditor = new FCKeditor('FCKeditor1');
						oFCKeditor.BasePath	= '' ; //fck文件路径
						oFCKeditor.Height	= 540 ;//调整编辑框高度
						oFCKeditor.Width	= 730 ;//调整编辑框宽度
						oFCKeditor.Value	= '<p align=\"center\">默认值</p>' ;
						oFCKeditor.Create() ;
						//-->
					</script>
				</td>
			</tr>
			<tr>
				<td width="100%" align="center">
					<input type="button" onclick="getFCKeditorValue();" value="得到FCKeditor的值">
				</td>
			</tr>
		</table>
		
		
		
		
		
		<div style="display: none;">

			1、如何取得FCKeditor的值？
			答案：这是我们常常干的事情：取得这个值并赋值给某个hidden，再合法性检查＋submit等。怎么取得呢？这样：
			
			1       var  oEditor  =  FCKeditorAPI.GetInstance('editor') ;
			2      // Get the editor contents in XHTML. 
			3       // alert( oEditor.GetXHTML(true) ) ;    // "true" means you want it formatted. 
			4      document.all( " tip.c_content " ).value = oEditor.GetXHTML( true ); 
			2、如何使得FCKeditor接收tab键？
			答案：我们希望界面元素按照外面的安排进行tab切换，但FCKeditor怎么能做到呢？也有办法：
			
			
			1   function  focusIframeOnTab(caller, tabTargetId, callEvent)  {
			2                  //  If keypress TAB and not SHIFT+TAB  
			3                   if (callEvent.keyCode  ==   9   &&   ! callEvent.shiftKey)
			4                     document.getElementById(tabTargetId).contentWindow.focus();
			5             } 
			光光有个函数顶个什么用，还要这样：在之前的那个界面元素中加上下面的事件，如使用struts的tag的化，这样就可以了：
			
			
			 < html:text  property ="tip.c_title"  style ="width:450px"  tabindex ="1"  onkeydown ="focusIframeOnTab(this, 'editor___Frame',event);if(!document.all) return false;" /> 
			这点是google了半天最终在FCKeditor的FAQ中找到的，看来以后用开源的软件第一件事情就是看FAQ，错不了！
			
			3、如何希望在FCKeditor加载完毕后做点什么事情？
			答案：也很简单，编写自己的FCKeditor_OnComplete函数，如：
			
			
			  function  FCKeditor_OnComplete( editorInstance )   {
			                window.status  =  editorInstance.Description ;
			            } 
			
			4、如果在图片、FLASH等界面中上载了东西后，希望能告诉自己的表单，怎么做？
			答案：这个花了我不少看代码和调试时间！其实这里的关键就是如何获取嵌入FCKeditor的那个window，这样就可以了，在对应的js文件（如editor\dialog\fck_image\fck_image.js）中的ok方法的最后加入：
			
			
			 
			     // edit by zhengxq 
			       try  {        
			         var  obj  =  window.dialogArguments.Editor.parent.document;
			        obj.getElementById( " tip.c_tip_has_pic " ).value  =   " 1 " ;
			    } catch (e)  {}      
			关键就是：window.dialogArguments.Editor.parent.document，这个能够找到对应窗口的引用，有了这个，还不会控制吗？！
		
		</div>
</body>
</html>